package com.apes.fn.scm.retailOrder.service.tc.RptWorkOutputValue;

import com.alibaba.fastjson.annotation.JSONField;
import com.apes.framework.jpa.DefaultPersistListener;
import com.apes.framework.jpa.Model;
import com.apes.framework.jpa.comment.Comment;
import com.apes.framework.jpa.generator.ApesGenerator;
import com.apes.framework.util.ApesConst;
import com.apes.framework.util.DateUtil;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.SelectBeforeUpdate;

import javax.persistence.*;
import java.util.Date;

/**
 * Creator: zouyc
 * CreateDate: 2020-09-08 9:14
 * Description:
 **/
@Getter
@Setter
@SelectBeforeUpdate
@DynamicInsert
@DynamicUpdate
@Entity
@EntityListeners(DefaultPersistListener.class)
@Table(name = RptWorkOutputValue.CONST_TABLE_NAME)
public class RptWorkOutputValue extends Model {
    public static final String CONST_TABLE_NAME = "RPT_WORK_OUTPUT_VALUE";

    @Id
    @Column(name = "id", nullable = false, length = 24)
    @ApesGenerator(code = CONST_TABLE_NAME, name = "员工施工产值编码", padding = 12)
    private String id;

    @JSONField(format = DateUtil.SHOW_DATE_FORMAT)
    @Temporal(TemporalType.DATE)
    @Column(name = "TJRQ")
    @Comment("提交日期")
    private Date tjrq;

    @Column(name = "DEPT_ID")
    @Comment("门店编码")
    private String deptId;

    @Column(name = "DEPT_NAME")
    @Comment("门店名称")
    private String deptName;

    @Column(name = "EMPLOYEE_ID")
    @Comment("人员编码")
    private String employeeId;

    @Column(name = "EMPLOYEE_NAME")
    @Comment("人员名称")
    private String employeeName;

    @Column(name = "COMPANY_ID")
    @Comment("公司编码")
    private String companyId;

    @Column(name = "COMPANY_NAME")
    @Comment("公司名称")
    private String companyName;

    @Column(name = "WASH_AMOUNT", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("洗车台次")
    private double washAmount = 0;

    @Column(name = "WASH_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("洗车施工产值")
    private double washOutputValue = 0;

    @Column(name = "WASH_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("洗车施工提成")
    private double washCommision = 0;


    @Column(name = "COSMETOLOGY_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("美容施工产值")
    private double cosmetologyOutputValue = 0;

    @Column(name = "COSMETOLOGY_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("美容施工提成")
    private double cosmetologyCommision = 0;

    @Column(name = "MAINTENANCE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("保养施工产值")
    private double maintenanceOutputValue = 0;

    @Column(name = "MAINTENANCE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("保养施工提成")
    private double maintenanceCommision = 0;

    @Column(name = "TYRE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("轮胎施工产值")
    private double tyreOutputValue = 0;

    @Column(name = "TYRE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("轮胎施工提成")
    private double tyreCommision = 0;

    @Column(name = "REPAIR_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("维修施工产值")
    private double repairOutputValue = 0;

    @Column(name = "REPAIR_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("维修施工提成")
    private double repairCommision = 0;

    @Column(name = "METALPLATE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("钣金施工产值")
    private double metalplateOutputValue = 0;

    @Column(name = "METALPLATE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("钣金施工提成")
    private double metalplateCommision = 0;


    @Column(name = "PAINT_DEAL", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("漆前处理")
    private double paintDeal = 0;

    @Column(name = "BOTTOM_GRINDING", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("磨底")
    private double bottomGrinding = 0;

    @Column(name = "SPRAY_PAINT", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("喷漆")
    private double sprayPaint = 0;

    @Column(name = "REFINEMENT", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("抛光")
    private double refinement = 0;

    @Column(name = "SPRAY_PAINT_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("喷漆施工提成")
    private double sprayPaintCommision = 0;

    @Column(name = "RECONFIGURATION_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("改装施工产值")
    private double reconfigurationOutputValue = 0;

    @Column(name = "RECONFIGURATION_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("改装施工提成")
    private double reconfigurationCommsion = 0;

    @Column(name = "RESCUE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("救援施工产值")
    private double rescueOutputValue = 0;

    @Column(name = "RESCUE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("救援施工提成")
    private double rescueCommision = 0;

    @Column(name = "DELICATE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("精品施工产值")
    private double delicateOutputValue = 0;

    @Column(name = "DELICATE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("精品施工提成")
    private double delicateCommision = 0;

    @Column(name = "DAILY_ARTICLE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("生活用品施工产值")
    private double dailyArticleOutputValue = 0;

    @Column(name = "DAILY_ARTICLE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("生活用品施工提成")
    private double dailyArticleCommision = 0;

    @Column(name = "INFO_SERVICE_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("信息服务产值")
    private double informationServiceOutputValue = 0;

    @Column(name = "INFO_SERVICE_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("信息服务提成")
    private double informationServiceCommision = 0;

    @Column(name = "TECH_DETECTION_OUTPUTVALUE", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("技术检测服务产值")
    private double technicalDetectionOutputValue = 0;

    @Column(name = "TECH_DETECTION_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("技术检测服务提成")
    private double technicalDetectionCommision = 0;

    @Column(name = "WORK_OUTPUTVALUE_ALL", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("总施工产值")
    private double workOutputValueAll = 0;

    @Column(name = "WORK_COMMISION_ALL", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("总施工提成")
    private double workCommisionAll = 0;

    @Column(name = "SECOND_HAND_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("二手车检测提成")
    private double secondHandCommision = 0;

    @Column(name = "DELIVER_AMOUNT", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("接送车台次")
    private double deliverAmount = 0;

    @Column(name = "DELIVER_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("接送车提成")
    private double deliverCommision = 0;

    @Column(name = "INNER_ASSIST_COMMISION", nullable = false, columnDefinition = ApesConst.FIELD_MONEY_16_4_0)
    @Comment("内协开单提成")
    private double innerAssistCommision = 0;
}